/**
 URL概述
 URL（uniform resource location）类URL代表一个统一资源定位符，它是指向互联网“资源”的指针
 抽象类URLConnection是所有类的超类，它代表应用程序和URL之间的通信连接。
 */
package 第十一章_网络编程;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;

public class 第十一章_网络编程_URL {
    public static void main(String[] args) {
        try {
            //把 资源地址 放入构造方法里  url是指针
            URL url=new URL("https://dlcdn.apache.org/mina/mina/2.0.25/apache-mina-2.0.25-bin.zip");
            //选择 https 协议 生产对象
            HttpURLConnection conn=(HttpURLConnection) url.openConnection();
            //加入缓冲流 设置读取和写入格式
            BufferedInputStream in=new BufferedInputStream(conn.getInputStream());
            //存放位置
            BufferedOutputStream out=new BufferedOutputStream(new FileOutputStream("C:\\Users\\Administrator\\Desktop\\apache-mina-2.0.25-bin.zip"));
            //设置格式
            byte[] bytes=new byte[1024];
            int len=-1;
            while((len=in.read(bytes))!=-1){
                out.write(bytes,0,len);
                out.flush();
            }
            in.close();
            out.close();
            System.out.println("下载成功！");
        } catch (MalformedURLException e) {
            throw new RuntimeException(e);
        } catch (IOException e) {
            throw new RuntimeException(e);
        }

    }
}
